﻿using System.Windows.Media.Media3D;
using X.WPF.Controls.Models;

namespace X.WPF.Controls.Constants
{
    /// <summary>
    /// WPF组件库3D常量
    /// </summary>
    public static class ThreeDConstants
    {

        #region 默认相机（向上方向X） —— static ThreeDCamera UpDirectionXDefaultCamera
        /// <summary>
        /// 默认相机（向上方向X）
        /// </summary>
        public static ThreeDCamera UpDirectionXDefaultCamera => new ThreeDCamera
        {
            LookDirection = new Vector3D(0, -1800, 0),
            UpDirection = new Vector3D(1, 0, 0),
            Position = new Point3D(0, 1800, 0),
        };
        #endregion

        #region 默认相机（向上方向Y） —— static ThreeDCamera UpDirectionYDefaultCamera
        /// <summary>
        /// 默认相机（向上方向Y）
        /// </summary>
        public static ThreeDCamera UpDirectionYDefaultCamera => new ThreeDCamera
        {
            LookDirection = new Vector3D(0, 0, -1800),
            UpDirection = new Vector3D(0, 1, 0),
            Position = new Point3D(0, 0, 1800),
        };
        #endregion

        #region 默认相机（向上方向Z） —— static ThreeDCamera UpDirectionZDefaultCamera
        /// <summary>
        /// 默认相机（向上方向Z）
        /// </summary>
        public static ThreeDCamera UpDirectionZDefaultCamera => new ThreeDCamera
        {
            LookDirection = new Vector3D(-1800, 0, 0),
            UpDirection = new Vector3D(0, 0, 1),
            Position = new Point3D(1800, 0, 0),
        };
        #endregion

    }
}
